package com.ruoyi.quartz.util;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import com.ruoyi.quartz.domain.SysJob;

/**
 * 定时任务处理（禁止并发执行）
 * 
 * @author ruoyi
 *
 */
/**
@DisallowConcurrentExecution:
禁止并发执行多个相同定义的JobDetail,这个注解是加在Job类上的，但意思并不是不髭同时执行多个Job，
而是不能并发执行同一个Job Definition(由JobDetail定义)，但是可以同时执行多个不同的 JobDetail。
 */
@DisallowConcurrentExecution
public class QuartzDisallowConcurrentExecution extends AbstractQuartzJob
{
    @Override
    protected void doExecute(JobExecutionContext context, SysJob sysJob) throws Exception
    {
        JobInvokeUtil.invokeMethod(sysJob);
    }
}
